import accessEnum from "@/access/accessEnum";

/**
 * 检查当前用户是否具有某个权限
 * @param loginUser 当前登录用户
 * @param needAccess 需要的用户权限
 * @return boolean
 */
const checkAccess = (
  loginUser: any,
  needAccess: string = accessEnum.NOT_LOGIN
) => {
  //获取当前登录的用户具有哪些权限
  //当前用户userRole为空，默认值表示未登录
  const userAccess = loginUser?.userRole ?? accessEnum.NOT_LOGIN;

  //不登陆都能访问，直接放行
  if (needAccess === accessEnum.NOT_LOGIN) {
    return true;
  }

  //需要用户登录才能访问
  if (needAccess === accessEnum.USER) {
    //用户身份为未登录，拦截
    if (userAccess === accessEnum.NOT_LOGIN) {
      return false;
    }
  }

  //只有管理员才能访问
  if (needAccess === accessEnum.ADMIN) {
    if (userAccess !== accessEnum.ADMIN) {
      return false;
    }
  }
  return true;
};

export default checkAccess;
